import { Controller, Get } from '@nestjs/common';
// 导入微服务消息模式和事件模式装饰器
import { MessagePattern, EventPattern } from '@nestjs/microservices';
import { TestAppService } from './test-app.service';

@Controller()
export class TestAppController {
  constructor(private readonly testAppService: TestAppService) {}

  @MessagePattern('math:test_send')
  testServiceStart(s: string): string {
    console.log('test_send调用成功', s);
    return '这是测试服务!使用request/response请求响应的方式调用';
  }

  @EventPattern('test_emit')
  async handleUserCreated(data: Record<string, unknown>) {
    console.log('test_emit调用成功', data);
    // 这里返回值主服务其实是接收不到的，因为事件触发是不会返回的，只需确保子服务触发了事件
    return '';
  }
}
